package controller

import (
	"notes/model"
	"notes/util"
	"strconv"

	"github.com/gin-gonic/gin"
)

// AddCategory 添加栏目
// @Summary 添加栏目
// @Description 添加栏目
// @Tags category
// @Produce json
// @Consume json
// @Accept json
// @Router /category/add [post]
// @Param _token query string true "token"
// @Param body body model.Category true "data"
// @Success 200 {object} util.JSONRET "成功返回token"
func AddCategory(c *gin.Context) {
	var data model.Category
	c.ShouldBind(&data)
	err := data.AddCategory()
	util.JSON(c, err, nil)
}

// GetCategory 获取所有栏目
// @Summary 获取所有栏目
// @Description 获取所有栏目
// @Tags category
// @Produce json
// @Consume json
// @Accept json
// @Router /category/get [get]
// @Success 200 {object} util.JSONRET "成功返回token"
func GetCategory(c *gin.Context) {
	insts, err := model.GetCategory()
	data := map[string]interface{}{
		"insts": insts,
	}
	util.JSON(c, err, data)
}

// DeleteCategory 删除栏目
// @Summary 删除栏目
// @Description 删除栏目
// @Tags category
// @Produce json
// @Consume json
// @Accept json
// @Router /category/delete [get]
// @Param _token query string true "token"
// @Param id query string true "id"
// @Success 200 {object} util.JSONRET "成功返回token"
func DeleteCategory(c *gin.Context) {
	cid, _ := strconv.Atoi(c.DefaultQuery("id", "0"))
	err := model.DeleteCategory(uint(cid))
	util.JSON(c, err, nil)
}
